{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "from scipy import stats\n",
    "\n",
    "def r2(x, y):\n",
    "    return stats.pearsonr(x, y)[0] ** 2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Preparing Data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "test_counts = {'yes': 256, 'no': 252, 'up': 272, 'down': 253, 'left': 267, 'right': 259, 'on': 246, 'off': 262, 'stop': 249, 'go': 251}\n",
    "param_counts = {\n",
    "    'cnn_one_fstride4': {\n",
    "        'params': 220000,\n",
    "        'multiplies': 1430000\n",
    "    },\n",
    "    'cnn_one_fstride8': {\n",
    "        'params': 337000,\n",
    "        'multiplies': 1430000\n",
    "    },\n",
    "    'cnn_tpool2': {\n",
    "        'params': 1090000,\n",
    "        'multiplies': 103000000\n",
    "    },\n",
    "    'cnn_tpool3': {\n",
    "        'params': 823000,\n",
    "        'multiplies': 73700000\n",
    "    },\n",
    "    'cnn_trad_fpool3': {\n",
    "        'params': 1370000,\n",
    "        'multiplies': 125000000\n",
    "    },\n",
    "    'google-speech-dataset-compact': {\n",
    "        'params': 964000,\n",
    "        'multiplies': 5760000\n",
    "    },\n",
    "    'google-speech-dataset-full': {\n",
    "        'params': 1380000,\n",
    "        'multiplies': 98800000\n",
    "    }\n",
    "}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def get_observations(fname):\n",
    "    observations = {'model': [], 'keyword': [], 'accuracy': [], 'time': [], 'total_energy': [], 'peak_power': [], 'params': [], 'multiplies': []}\n",
    "    with open(fname, 'r') as f:\n",
    "        for _ in range(7):\n",
    "            for i in range(10):\n",
    "                line = f.readline().rstrip()\n",
    "                parts = line.split(' ')\n",
    "                model, keyword, accuracy, time, total_energy, peak_power = parts\n",
    "                model = model.rstrip('\\.onnx')\n",
    "                accuracy, time, total_energy, peak_power = list(map(float, [accuracy, time, total_energy, peak_power]))\n",
    "                accuracy *= 100\n",
    "                total_energy = 1000 * (total_energy - 1.9*time)\n",
    "                time *= 1000\n",
    "                peak_power -= 1.9\n",
    "                observations['model'].append(model)\n",
    "                observations['keyword'].append(keyword)\n",
    "                observations['accuracy'].append(accuracy)\n",
    "                observations['time'].append(time / test_counts[keyword])\n",
    "                observations['total_energy'].append(total_energy / test_counts[keyword])\n",
    "                observations['peak_power'].append(peak_power)\n",
    "                observations['params'].append(param_counts[model]['params'])\n",
    "                observations['multiplies'].append(param_counts[model]['multiplies'])\n",
    "\n",
    "            for i in range(6):\n",
    "                line = f.readline()\n",
    "    \n",
    "    return observations"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "df = pd.DataFrame(get_observations('experiment_output_e2e.txt'))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>accuracy</th>\n",
       "      <th>keyword</th>\n",
       "      <th>model</th>\n",
       "      <th>multiplies</th>\n",
       "      <th>params</th>\n",
       "      <th>peak_power</th>\n",
       "      <th>time</th>\n",
       "      <th>total_energy</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>90.6</td>\n",
       "      <td>yes</td>\n",
       "      <td>cnn_trad_fpool3</td>\n",
       "      <td>125000000</td>\n",
       "      <td>1370000</td>\n",
       "      <td>2.2</td>\n",
       "      <td>228.125000</td>\n",
       "      <td>430.625000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>82.9</td>\n",
       "      <td>no</td>\n",
       "      <td>cnn_trad_fpool3</td>\n",
       "      <td>125000000</td>\n",
       "      <td>1370000</td>\n",
       "      <td>2.2</td>\n",
       "      <td>229.365079</td>\n",
       "      <td>431.666667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>91.5</td>\n",
       "      <td>up</td>\n",
       "      <td>cnn_trad_fpool3</td>\n",
       "      <td>125000000</td>\n",
       "      <td>1370000</td>\n",
       "      <td>2.2</td>\n",
       "      <td>229.411765</td>\n",
       "      <td>438.750000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>92.1</td>\n",
       "      <td>down</td>\n",
       "      <td>cnn_trad_fpool3</td>\n",
       "      <td>125000000</td>\n",
       "      <td>1370000</td>\n",
       "      <td>2.2</td>\n",
       "      <td>227.272727</td>\n",
       "      <td>434.584980</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>90.3</td>\n",
       "      <td>left</td>\n",
       "      <td>cnn_trad_fpool3</td>\n",
       "      <td>125000000</td>\n",
       "      <td>1370000</td>\n",
       "      <td>2.2</td>\n",
       "      <td>224.719101</td>\n",
       "      <td>426.966292</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   accuracy keyword            model  multiplies   params  peak_power  \\\n",
       "0      90.6     yes  cnn_trad_fpool3   125000000  1370000         2.2   \n",
       "1      82.9      no  cnn_trad_fpool3   125000000  1370000         2.2   \n",
       "2      91.5      up  cnn_trad_fpool3   125000000  1370000         2.2   \n",
       "3      92.1    down  cnn_trad_fpool3   125000000  1370000         2.2   \n",
       "4      90.3    left  cnn_trad_fpool3   125000000  1370000         2.2   \n",
       "\n",
       "         time  total_energy  \n",
       "0  228.125000    430.625000  \n",
       "1  229.365079    431.666667  \n",
       "2  229.411765    438.750000  \n",
       "3  227.272727    434.584980  \n",
       "4  224.719101    426.966292  "
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>accuracy</th>\n",
       "      <th>keyword</th>\n",
       "      <th>model</th>\n",
       "      <th>multiplies</th>\n",
       "      <th>params</th>\n",
       "      <th>peak_power</th>\n",
       "      <th>time</th>\n",
       "      <th>total_energy</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.0</td>\n",
       "      <td>yes</td>\n",
       "      <td>cnn_one_fstride4</td>\n",
       "      <td>1430000</td>\n",
       "      <td>220000</td>\n",
       "      <td>0.8</td>\n",
       "      <td>30.468750</td>\n",
       "      <td>18.281250</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0.0</td>\n",
       "      <td>no</td>\n",
       "      <td>cnn_one_fstride4</td>\n",
       "      <td>1430000</td>\n",
       "      <td>220000</td>\n",
       "      <td>0.8</td>\n",
       "      <td>30.555556</td>\n",
       "      <td>20.119048</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0.0</td>\n",
       "      <td>up</td>\n",
       "      <td>cnn_one_fstride4</td>\n",
       "      <td>1430000</td>\n",
       "      <td>220000</td>\n",
       "      <td>0.8</td>\n",
       "      <td>30.514706</td>\n",
       "      <td>14.816176</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0.0</td>\n",
       "      <td>down</td>\n",
       "      <td>cnn_one_fstride4</td>\n",
       "      <td>1430000</td>\n",
       "      <td>220000</td>\n",
       "      <td>0.8</td>\n",
       "      <td>30.830040</td>\n",
       "      <td>18.498024</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0.0</td>\n",
       "      <td>left</td>\n",
       "      <td>cnn_one_fstride4</td>\n",
       "      <td>1430000</td>\n",
       "      <td>220000</td>\n",
       "      <td>0.8</td>\n",
       "      <td>30.337079</td>\n",
       "      <td>25.131086</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   accuracy keyword             model  multiplies  params  peak_power  \\\n",
       "0       0.0     yes  cnn_one_fstride4     1430000  220000         0.8   \n",
       "1       0.0      no  cnn_one_fstride4     1430000  220000         0.8   \n",
       "2       0.0      up  cnn_one_fstride4     1430000  220000         0.8   \n",
       "3       0.0    down  cnn_one_fstride4     1430000  220000         0.8   \n",
       "4       0.0    left  cnn_one_fstride4     1430000  220000         0.8   \n",
       "\n",
       "        time  total_energy  \n",
       "0  30.468750     18.281250  \n",
       "1  30.555556     20.119048  \n",
       "2  30.514706     14.816176  \n",
       "3  30.830040     18.498024  \n",
       "4  30.337079     25.131086  "
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_pre = pd.DataFrame(get_observations('experiment_output_preprocessing.txt'))\n",
    "df_pre.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "# Analysis"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "df_grouped = df.groupby('model')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "df_grouped_means = df_grouped['accuracy', 'total_energy', 'peak_power', 'time', 'params', 'multiplies'].mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>accuracy</th>\n",
       "      <th>total_energy</th>\n",
       "      <th>peak_power</th>\n",
       "      <th>time</th>\n",
       "      <th>params</th>\n",
       "      <th>multiplies</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>model</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>cnn_one_fstride4</th>\n",
       "      <td>70.28</td>\n",
       "      <td>28.11</td>\n",
       "      <td>0.99</td>\n",
       "      <td>40.47</td>\n",
       "      <td>220000</td>\n",
       "      <td>1430000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>cnn_one_fstride8</th>\n",
       "      <td>67.90</td>\n",
       "      <td>28.74</td>\n",
       "      <td>1.02</td>\n",
       "      <td>42.14</td>\n",
       "      <td>337000</td>\n",
       "      <td>1430000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>cnn_tpool2</th>\n",
       "      <td>91.97</td>\n",
       "      <td>384.05</td>\n",
       "      <td>2.21</td>\n",
       "      <td>204.28</td>\n",
       "      <td>1090000</td>\n",
       "      <td>103000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>cnn_tpool3</th>\n",
       "      <td>91.23</td>\n",
       "      <td>278.86</td>\n",
       "      <td>2.16</td>\n",
       "      <td>158.75</td>\n",
       "      <td>823000</td>\n",
       "      <td>73700000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>cnn_trad_fpool3</th>\n",
       "      <td>89.43</td>\n",
       "      <td>431.10</td>\n",
       "      <td>2.20</td>\n",
       "      <td>227.07</td>\n",
       "      <td>1370000</td>\n",
       "      <td>125000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>google-speech-dataset-compact</th>\n",
       "      <td>77.06</td>\n",
       "      <td>115.07</td>\n",
       "      <td>1.52</td>\n",
       "      <td>99.94</td>\n",
       "      <td>964000</td>\n",
       "      <td>5760000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>google-speech-dataset-full</th>\n",
       "      <td>87.51</td>\n",
       "      <td>305.88</td>\n",
       "      <td>2.60</td>\n",
       "      <td>145.52</td>\n",
       "      <td>1380000</td>\n",
       "      <td>98800000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                               accuracy  total_energy  peak_power    time  \\\n",
       "model                                                                       \n",
       "cnn_one_fstride4                  70.28         28.11        0.99   40.47   \n",
       "cnn_one_fstride8                  67.90         28.74        1.02   42.14   \n",
       "cnn_tpool2                        91.97        384.05        2.21  204.28   \n",
       "cnn_tpool3                        91.23        278.86        2.16  158.75   \n",
       "cnn_trad_fpool3                   89.43        431.10        2.20  227.07   \n",
       "google-speech-dataset-compact     77.06        115.07        1.52   99.94   \n",
       "google-speech-dataset-full        87.51        305.88        2.60  145.52   \n",
       "\n",
       "                                params  multiplies  \n",
       "model                                               \n",
       "cnn_one_fstride4                220000     1430000  \n",
       "cnn_one_fstride8                337000     1430000  \n",
       "cnn_tpool2                     1090000   103000000  \n",
       "cnn_tpool3                      823000    73700000  \n",
       "cnn_trad_fpool3                1370000   125000000  \n",
       "google-speech-dataset-compact   964000     5760000  \n",
       "google-speech-dataset-full     1380000    98800000  "
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_grouped_means.round(2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>accuracy</th>\n",
       "      <th>total_energy</th>\n",
       "      <th>peak_power</th>\n",
       "      <th>time</th>\n",
       "      <th>params</th>\n",
       "      <th>multiplies</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>model</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>cnn_one_fstride4</th>\n",
       "      <td>0.0</td>\n",
       "      <td>18.325887</td>\n",
       "      <td>0.79</td>\n",
       "      <td>30.503119</td>\n",
       "      <td>220000</td>\n",
       "      <td>1430000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>cnn_one_fstride8</th>\n",
       "      <td>0.0</td>\n",
       "      <td>18.419090</td>\n",
       "      <td>0.80</td>\n",
       "      <td>30.350051</td>\n",
       "      <td>337000</td>\n",
       "      <td>1430000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>cnn_tpool2</th>\n",
       "      <td>0.0</td>\n",
       "      <td>19.148509</td>\n",
       "      <td>0.79</td>\n",
       "      <td>30.890965</td>\n",
       "      <td>1090000</td>\n",
       "      <td>103000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>cnn_tpool3</th>\n",
       "      <td>0.0</td>\n",
       "      <td>19.175226</td>\n",
       "      <td>0.79</td>\n",
       "      <td>30.774251</td>\n",
       "      <td>823000</td>\n",
       "      <td>73700000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>cnn_trad_fpool3</th>\n",
       "      <td>0.0</td>\n",
       "      <td>19.608814</td>\n",
       "      <td>0.83</td>\n",
       "      <td>31.324518</td>\n",
       "      <td>1370000</td>\n",
       "      <td>125000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>google-speech-dataset-compact</th>\n",
       "      <td>0.0</td>\n",
       "      <td>20.942512</td>\n",
       "      <td>0.82</td>\n",
       "      <td>32.021820</td>\n",
       "      <td>964000</td>\n",
       "      <td>5760000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>google-speech-dataset-full</th>\n",
       "      <td>0.0</td>\n",
       "      <td>18.699125</td>\n",
       "      <td>0.81</td>\n",
       "      <td>31.048824</td>\n",
       "      <td>1380000</td>\n",
       "      <td>98800000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                               accuracy  total_energy  peak_power       time  \\\n",
       "model                                                                          \n",
       "cnn_one_fstride4                    0.0     18.325887        0.79  30.503119   \n",
       "cnn_one_fstride8                    0.0     18.419090        0.80  30.350051   \n",
       "cnn_tpool2                          0.0     19.148509        0.79  30.890965   \n",
       "cnn_tpool3                          0.0     19.175226        0.79  30.774251   \n",
       "cnn_trad_fpool3                     0.0     19.608814        0.83  31.324518   \n",
       "google-speech-dataset-compact       0.0     20.942512        0.82  32.021820   \n",
       "google-speech-dataset-full          0.0     18.699125        0.81  31.048824   \n",
       "\n",
       "                                params  multiplies  \n",
       "model                                               \n",
       "cnn_one_fstride4                220000     1430000  \n",
       "cnn_one_fstride8                337000     1430000  \n",
       "cnn_tpool2                     1090000   103000000  \n",
       "cnn_tpool3                      823000    73700000  \n",
       "cnn_trad_fpool3                1370000   125000000  \n",
       "google-speech-dataset-compact   964000     5760000  \n",
       "google-speech-dataset-full     1380000    98800000  "
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_pre_grouped = df_pre.groupby('model')\n",
    "df_pre_grouped_means = df_pre_grouped['accuracy', 'total_energy', 'peak_power', 'time', 'params', 'multiplies'].mean()\n",
    "df_pre_grouped_means"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "30.98764959198933"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_pre_grouped_means['time'].mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "19.188451964409353"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_pre_grouped_means['total_energy'].mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.8042857142857146"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_pre_grouped_means['peak_power'].mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>accuracy</th>\n",
       "      <th>total_energy</th>\n",
       "      <th>peak_power</th>\n",
       "      <th>time</th>\n",
       "      <th>params</th>\n",
       "      <th>multiplies</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>model</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>cnn_one_fstride4</th>\n",
       "      <td>70.28</td>\n",
       "      <td>9.79</td>\n",
       "      <td>0.99</td>\n",
       "      <td>9.97</td>\n",
       "      <td>220000</td>\n",
       "      <td>1430000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>cnn_one_fstride8</th>\n",
       "      <td>67.90</td>\n",
       "      <td>10.32</td>\n",
       "      <td>1.02</td>\n",
       "      <td>11.79</td>\n",
       "      <td>337000</td>\n",
       "      <td>1430000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>cnn_tpool2</th>\n",
       "      <td>91.97</td>\n",
       "      <td>364.90</td>\n",
       "      <td>2.21</td>\n",
       "      <td>173.39</td>\n",
       "      <td>1090000</td>\n",
       "      <td>103000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>cnn_tpool3</th>\n",
       "      <td>91.23</td>\n",
       "      <td>259.69</td>\n",
       "      <td>2.16</td>\n",
       "      <td>127.97</td>\n",
       "      <td>823000</td>\n",
       "      <td>73700000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>cnn_trad_fpool3</th>\n",
       "      <td>89.43</td>\n",
       "      <td>411.49</td>\n",
       "      <td>2.20</td>\n",
       "      <td>195.75</td>\n",
       "      <td>1370000</td>\n",
       "      <td>125000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>google-speech-dataset-compact</th>\n",
       "      <td>77.06</td>\n",
       "      <td>94.12</td>\n",
       "      <td>1.52</td>\n",
       "      <td>67.92</td>\n",
       "      <td>964000</td>\n",
       "      <td>5760000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>google-speech-dataset-full</th>\n",
       "      <td>87.51</td>\n",
       "      <td>287.18</td>\n",
       "      <td>2.60</td>\n",
       "      <td>114.47</td>\n",
       "      <td>1380000</td>\n",
       "      <td>98800000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                               accuracy  total_energy  peak_power    time  \\\n",
       "model                                                                       \n",
       "cnn_one_fstride4                  70.28          9.79        0.99    9.97   \n",
       "cnn_one_fstride8                  67.90         10.32        1.02   11.79   \n",
       "cnn_tpool2                        91.97        364.90        2.21  173.39   \n",
       "cnn_tpool3                        91.23        259.69        2.16  127.97   \n",
       "cnn_trad_fpool3                   89.43        411.49        2.20  195.75   \n",
       "google-speech-dataset-compact     77.06         94.12        1.52   67.92   \n",
       "google-speech-dataset-full        87.51        287.18        2.60  114.47   \n",
       "\n",
       "                                params  multiplies  \n",
       "model                                               \n",
       "cnn_one_fstride4                220000     1430000  \n",
       "cnn_one_fstride8                337000     1430000  \n",
       "cnn_tpool2                     1090000   103000000  \n",
       "cnn_tpool3                      823000    73700000  \n",
       "cnn_trad_fpool3                1370000   125000000  \n",
       "google-speech-dataset-compact   964000     5760000  \n",
       "google-speech-dataset-full     1380000    98800000  "
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_inf_only = df_grouped_means - df_pre_grouped_means\n",
    "df_inf_only['peak_power'] = df_grouped_means['peak_power']\n",
    "df_inf_only['params'] = df_grouped_means['params']\n",
    "df_inf_only['multiplies'] = df_grouped_means['multiplies']\n",
    "df_inf_only.round(2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nREREpGgpIRIRERERkaKlhEhERERERIqWEiIRERERESlaSohERERERKRoKSESEREREZGipYRIRERE\nRESKlhIiEREREREpWkqIRERERESkaCkhEhERERGRoqWESEREREREipYSIhERERERKVpKiERERERE\npGgpIRIRERERkaKlhEhERERERIqWEiIRERERESlaSohERERERKRoKSESEREREZGiFRzpAERERArF\n8zwaO19m/Z576U7uIRqqZnbtG5hYvgTLskY6PBERGQGW53kjHcNBa2xsH3tBi4jIiEqmu3lkw7Vs\na32y33OTKo7i1DlfIxwsH4HIREQkH+rrK3zd6dKQORERKQqPb/z2gMkQwM725Ty8/uuMxZuEIiIy\nNEqIRERk3GvuXs/mlkeyttnR/hyNnasKFJGIiIwWSohERGTc27T3IV/tNu59IM+RiIjIaFPUCZHr\npUimu/A8d6RDERGRPIqnWv21S7flORIRERltirLKXGPHKlbt+hNbWp7AI00kWM28urNYNPHdREPV\ng+7nuSnSHZvw3BSBsmnYobICRi0iMrLSboKU200oUI5tBUY6nINSGq731a4s5K+diIiMH0VXZW7D\n3vt5bMM38ejfK1QWnsibFtxAeWTifts9N033+j8R23QbbnxvZqMdJjLlDMqci7AjNYcajojIqLez\nfQUv7/wT29ueATzCgQrmTXgziya+h5LQ2Pj864jv5NaVFwDZ/3yct+hnVJfMKkhMIiKSX6oyN4DO\nxC4e3/idAZOh157/1n7bPC9N+4pr6Vrzi9eSIQA3QXzrnbQ8ccn+20XGAC+dILH7KWLb7iHRtBzP\nS490SDJKvdr0L+5Z859sb3uafclEIt3Oql1/5o7VF9OZ2D2yAfpUHpnEYQ1vz9pmTt2blAyJiBSh\nohoyt6bxn7heMmubXR0vsrdrHbWlcwGIb3+AxM7BKxO5XTvoXP1TKpb817DGKpIPnucR23ALXet+\nj5d8ba6EHW2g7LCPEplyxghGJ6NNW2wrT236bwbrVelM7OTxjd/lzAXfLmxgh+iYaZ8ELMzu2/a7\nMWZhM2/C2Rw3/TMjF5yIiIyYokqIdne86LPdS70JUWzzP3K2j+94iLKFn8IOVw4pPpF861rzC7rX\n/aHfdje2m/YV1+OlE0Snv3kEIpPRaE3jPwbtUd9nZ/vztHZvoqpkZoGi2l+yeRWxrXeS7tyGFSgh\n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\nRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x114aafb38>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAbUAAAEYCAYAAADbKGjtAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xu8pXPd//HXHiMjMyOykZIhelMNOWVmDIMQldJBP6c0\nwpCQ7qlISnWnKBIVZmgMupHuUsmhSBqMUzqYGJ87h366lUxiiHGYse8/vt89s2bb67Bnr2vtta79\nfj4e+zF7XWuta33WtWfvz/peh/e3q6enBzMzszIYMdQFmJmZNYubmpmZlYabmpmZlYabmpmZlYab\nmpmZlYabmpmZlUahTU3SdpJu7Gf5XpLulHSrpMOKrMHMzIaPwpqapM8A5wOj+ixfGTgD2B2YAkyT\ntE5RdZiZ2fBR5EjtAeD9/SzfDLg/Ip6IiBeAm4EdC6zDzMyGiZFFrTgifiRpXD93jQUWVtx+Gli9\n3vp6enp6urq6mlSd2bDkXyArvcKaWg1PAWMqbo8Bnqz3pK6uLhYseLqwopqlu3uM62yiTqizE2qE\nVKdZ2Q1FU5sPbCJpTeDfpF2Ppw1BHWZmVjIta2qS9gdGR8RMSf8B/IJ0TG9WRDzSqjrMzKy8ujoo\npb+nU3bxuM7m6YQ6O6FGgO7uMT6mZqXni6/NzKw03NTMzKw03NTMzKw03NTMzKw03NTMzKw03NTM\nzKw03NTMzKw03NTMzKw03NTMzKw03NTMzKw03NTMzKw03NTMzKw03NTMzKw03NTMzKw03NTMzKw0\n3NTMzKw03NTMzKw03NTMzKw03NTMzKw03NTMzKw03NTMzKw03NTMzKw03NTMzKw03NTMzKw03NTM\nzKw03NTMzKw03NTMzKw03NTMzKw03NTMzKw03NTMzKw03NTMzKw03NTMzKw03NTMzKw03NTMzKw0\n3NTMzKw03NTMzKw03NTMzKw03NTMzKw03NTMzKw0Rha1YkkjgLOBLYDngUMj4v6K+w8ApgNLgFkR\ncU5RtZiZ2fBQ5Ehtb2BUREwEjgdO73P/acCuwPbAdElrFFiLmZkNA4WN1IDJwLUAEXGbpG363H83\nsDqwGOgCeuqtsLt7TLNrLITrbK5OqLMTajQbDopsamOBhRW3l0gaGRGL8+0/AXcBzwA/jogn661w\nwYKnm19lk3V3j3GdTdQJdXZCjeDGa8NDkbsfnwIqf4tG9DY0SZsD7wI2BMYBa0vap8BazMxsGCiy\nqd0CvBNA0gRgXsV9C4FFwKKIWAI8BviYmpmZDUqRux+vAHaTNJd0zOxgSfsDoyNipqQZwM2SXgAe\nAGYXWIuZmQ0DXT09dc/PaBc9nXLcwnU2TyfU2Qk1AnR3j+ka6hrMiuaLr83MrDTc1MzMrDTc1MzM\nrDTc1MzMrDTc1MzMrDTc1MzMrDTc1MzMrDTc1MzMrDTc1MzMrDTc1MzMrDTc1MzMrDTc1MzMrDTc\n1MzMrDTc1MzMrDTc1MzMrDTc1MzMrDTc1MzMrDTc1MzMrDTc1MzMrDTc1MzMrDTc1MzMrDTc1MzM\nrDTc1MzMrDTc1MzMrDTc1MzMrDTc1MzMCiZpnKRra9x/o6R1W1lTWbmpmZlZaYwc6gLMzDqBpKnA\ne4DVgFWB/wb2AlYGDgdmAF3AQuAjwNPAxcBrgf+tWM9BwMfyzbMj4uLWvIPhwSM1M7PGPRcR7wDu\nAl4VEbsBTwDnACdExBTgZ8BxwLuAf0TEjsBlAJLWAo4GdgR2AI6UtEbr30Z5uamZmTVuXv53IfA/\nFd/vCNyWb98CbJq/fp+X3Z7/3Qh4HXAdcD0wBtig2JKHFzc1M7PG9VRZfj2wXf5+MvAgcH/Fsq3y\nv38BAtglInYC/isvsyZxUzMzG7yvAidLugn4APA14ApgVUk3A/sARMRjwPeBOZJ+B4yJiCeHqOZS\n6urpqfbBo+30LFjw9FDXUFd39xhcZ/N0Qp2dUCNAd/eYrqGuwaxoHqmZmVlpuKmZmVlpuKmZmVlp\nuKmZmVlp1G1qkr4radtWFGNmZjYYjcRk3Q6cImlt4CLg4oh4tN6TJI0Azga2AJ4HDo2I+yvu3xb4\nJilW5lHgwIh4buBvwczMLKnb1CLiIuAiSesD+wFzJd0LnB8RP6nx1L2BURExUdIE4HTgvQCSuoDz\ngA9GxP2SDiVdVR+DeztmNhxJWhPYIyIuWYHn7gHsGxFTq9w/kpQAsgrwroh4YpC13ggcAfwVuARY\nA3gB+EhEPDKYdVuDx9QkbQhMzV/3ky4q/JCki2o8bTJwLUBE3AZsU3HfG4HHgU9K+g2wZkS4oZnZ\nitqcFDZchPWAsRExabANrY/DgLtyNuT3gc80cd3DVt2RmqRbgHVIux73iIiH8/ILgVqfKsaSMtF6\nLZE0MiIWA2sBk4CjSE3y55J+GxE31Kqlu3tMvXLbgutsrk6osxNqbBeSVgUuIO2deQUp7X5L4JXA\n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\n17EvsBowK7+3HuCYiPhjTvKfSwpw/hWwOinQOSLiwzW269f6qb2blOv5qvycg0g5lltImhYRM6nD\nIzUzazWn9C+vrVL6K7bh1/L2OZOUj3kacGZexydIcWcA40hNcgfShfBn520wWdKrqmzXsVVqPxH4\nWURMIgVPvw04GbihkYYGHqmZWes5pb/9U/qVtwsR8bP8mDNIPxtyzuX6+fGPV8zF9kxE3Ju/X0hq\nvP1t12q1izQaJCLmAnMl7cQAeKRmZq3mlP72T+mfD2ybazog74KdTxqNIemtQO8JLY3EUvXdrtVq\nr3zdHSWdWvF+G+KRmpm1mlP6l9eOKf2fBmbkY4TPkhrllXkdnyKNqg5p4L31Wm67kkZq/dX+VVKu\n54F5+SGkbThe0rER8a16L+TsxybroBxA19kknVAjtE/2o1P6h5dWb1eP1Mys1ZzSb4UpbKQmaQTp\nLJgtSMPHQyPi/or79wOOJe1qmAccGREv1VilR2pN5DqbpxNqhPYZqZkVqcgTRfYmnaY6ETiedN0E\nsPQ6la+QDr5uT7qu4d0F1mJmZsNAkbsfJ7PstN3bJG1Tcd/zwKSIeLaijufqrbC7e0zTiyyC62yu\nTqizE2o0Gw6KbGpjgYUVt5dIGhkRi/Nuxn8A5FNFRwPX1Vthh+zicZ1N1Al1dkKN4MZrw0ORTe0p\n0gWDvUZExOLeG/mY29dJV91/ICI65jRMMzNrT0UeU7sFeCeApAmkk0EqzSBdbb53xW5IMzOzFVbk\nSO0K0gWFc0lXih+cpw8YDfyWdFHdTcANKUqNMyPiigLrMTOzkiusqeXjZkf0WXxfxfeO6DIzs6Zy\nYzEzs9JwUzMzs9JwUzMzs9JwUzMzs9JwUzMzs9JwUzMzs9JwUzMzs9JwUzMzs9JwUzMzs9JwUzMz\ns9JwUzMzs9JwUzMzs9JwUzMzs9JwUzMzs9JwUzMzs9JwUzMzs9JwUzMzs9JwUzMzs9JwUzMzs9Jw\nUzMzs9JwUzMzs9JwUzMzs9JwUzMzs9JwUzMzs9JwUzMzs9JwUzMzs9JwUzMzs9JwUzMzs9JwUzMz\ns9JwUzMzs9JwUzMzs9JwUzMzs9JwUzMzs9JwUzMzs9JwUzMzs9JwUzMzs9JwUzMzs9JwUzMzs9IY\nWdSKJY0Azga2AJ4HDo2I+yvu3wv4ArAYmBUR5xVVi5mZDQ9FjtT2BkZFxETgeOD03jskrQycAewO\nTAGmSVqnwFrMzGwYKLKpTQauBYiI24BtKu7bDLg/Ip6IiBeAm4EdC6zFzMyGgcJ2PwJjgYUVt5dI\nGhkRi/u572lg9Trr6+ruHtPkEovhOpurE+rshBrNhoMiR2pPAZW/6SNyQ+vvvjHAkwXWYmZmw0CR\nTe0W4J0AkiYA8yrumw9sImlNSa8g7Xq8tcBazMxsGOjq6ekpZMUVZz9uDnQBBwNbAaMjYmbF2Y8j\nSGc/freQQszMbNgorKmZmZm1mi++NjOz0nBTMzOz0nBTMzOz0ijyOrUV0gnxWg3UuB9wbK5xHnBk\nRLzUbnVWPG4m8K+IOL7FJfa+fr3tuS3wTdIJR48CB0bEc21Y5wHAdGAJ6f/mOa2usaKW7YBTI2Kn\nPsuH/PfHrEjtOFLrhHitWjWuCnwF2DkitiddVP7uIagRatTZS9LhwPhWF9ZHre3ZBZwHHBwRvSk1\nGwxJlfW352nArsD2wHRJa7S4PgAkfQY4HxjVZ3m7/P6YFaYdm1onxGvVqvF5YFJEPJtvjwRaPqrI\natWJpEnAdsCM1pe2nFp1vhF4HPikpN8Aa0ZEtL5EoM72BO4mfYgZRRpVDtWpxQ8A7+9nebv8/pgV\nph2bWr/xWlXuayReqwhVa4yIlyLiHwCSjgZGA9e1vkSgRp2SXgOcBBw1FIX1UetnvhYwCfgOaRT0\ndkm7tLi+XrXqBPgTcBdwD/DziBiSlJyI+BHwYj93tcvvj1lh2rGpdUK8Vq0akTRC0mnAbsAHImKo\nPrHXqnMfUsO4mrQrbX9JU1tb3lK16nycNLqYHxEvkkZKfUdIrVK1TkmbA+8CNgTGAWtL2qflFdbW\nLr8/ZoVpx6bWCfFatWqEtDtvFLB3xW7IoVC1zog4KyK2zicSnAJcEhGzh6JIam/PB4HRkjbOt3cg\njYSGQq06FwKLgEURsQR4DBiSY2o1tMvvj1lh2i5RpBPitWrVCPw2f93EsmMqZ0bEFe1UZ0TMrHjc\nVGDTNjj7sdrPfBdS4+0C5kbEJ9q0ziOAjwIvkI5rHZaPXQ1FreOAyyJigqT9aaPfH7MitV1TMzMz\nW1HtuPvRzMxshbipmZlZabipmZlZabipmZlZabipmZlZabipmZlZabipmZlZabTd1DNWvJxXeA7w\nFmAdIEgBuEfkryXAlRFxnKQNgAuAtYFngUNJcUs3RsS4vL4vAkTEFyUtIOUfrgtsS7pYebnXiYhF\nkj5Z+VqkmQ0eAjaKiKfyxcNXRcSbC90YZlYqHqkNT5OAF/IUKhsDqwLHAEcCbyMlZmwtaWtSU/pR\nRLwF+CKOyEKLAAABh0lEQVRwYp11rwWcEhFvBSb28zrvlPS2vq9FSuO/CvhgXs9BwEVNebdmNmx4\npDYMRcQcSY9L+jiwKbAJ8GvS6Kw3xX1XAElTgP3y864Grs6jqFpur/E6o0mZg/291ixS45wF7A8M\nVRq/mXUoN7VhSNJ7gC8DZ5J2La5FSmtfveIx65F2N75YsayLNCfXM6Tsw14rVz4uIhbVeJ0u+kyL\nUvFac4DXSno/8FBE/K0pb9jMhg3vfhyedgUuj4gLgEdJI6eRwJ6SRudjbpeSpniZA+xb8byZpAa4\nhqRuSasAewzgdVYihT2/7LXyFD0XAmcBs5v8ns1sGHBTG57OA/aT9Hvgx8BtpGlSvkOaiuSPwJyI\nuJ40iegHJP0B+BIwLe82/AZwJ3A9cMcAXmfDiPhdldcC+AHwSuAnzX3LZjYcOKXf2kae2uUI0jQ4\nxwx1PWbWeXxMzdrJj4HXA+8Y6kLMrDN5pGZmZqXhY2pmZlYabmpmZlYabmpmZlYabmpmZlYabmpm\nZlYa/wfhiLVfmBn01AAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x114afd8d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "dims = (14, 6)\n",
    "fig, ax = plt.subplots(figsize=dims)\n",
    "g = sns.factorplot(x=\"accuracy\", y=\"total_energy\", hue=\"model\", data=df, ax=ax)\n",
    "g.set(xlim=(0, None), ylim=(0, None))\n",
    "for ind, label in enumerate(ax.get_xticklabels()):\n",
    "    if ind % 10 == 0:  # every 10th label is kept\n",
    "        label.set_visible(True)\n",
    "    else:\n",
    "        label.set_visible(False)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "# Visualizations"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Energy vs. Multiplies"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "df_inf_aggregated = df_inf_only.reset_index()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nQgghHPn/ATJUFbOuR/2AAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x114ab5ba8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "ax = sns.regplot(x=df['params'], y=df['total_energy'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x11543dfd0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "ax = sns.regplot(x=df['multiplies'], y=df['total_energy'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "df.to_csv('observations.csv', index=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "df_inf_aggregated.to_csv('observations_agg.csv', index=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
